﻿using System;

namespace Genko.Model.Schema
{
	internal class MetaMemberType : IMemberType
	{
		internal static readonly MetaMemberType MetaClassType = new MetaMemberType("Class");
		internal static readonly MetaMemberType MetaDataType = new MetaMemberType("DataType");
	
		private string name;
	
		protected MetaMemberType(string name)
		{
			this.name = name;
		}
	
		public virtual string Name
		{
			get { return this.name; }
		}

		public IMemberType BaseType
		{
			get { return null; }
		}

		public ISchemaType SchemaType
		{
			get { return MetaSchemaType.MetaModelType; }
		}

		public Member CreateMember()
		{
			throw new NotImplementedException();
		}

		public bool CanAttachMember(Member member)
		{
			throw new NotImplementedException();
		}

		public bool CanDetachMember(Member member)
		{
			throw new NotImplementedException();
		}
	}
}
